The present invention relates to a method, an apparatus and a recorded media which contains program codes, of transferring file through multiple data connections.
Also this invention relates to a method of transferring file by FTP (File Transfer Protocol:RFC959) in wide area networks by TCP (Transmission Control Protocol).
The FIG. 1 briefly shows a file transferring method by a single data connection according to a prior art. By the method, file data transferring is done in the forward direction sequentially from the top of the file to the bottom. This method is widely used in FTP (File Transfer Protocol) of the internet.
In the internet, which is widely used in wide area networks, FTP is mainly used as a file transferring protocol between a client and a server.
FTP consists of three major phases of transferring between a client and a sever via a transmission line, firstly establishment phase of a control connection, secondly establishment phase of a data connection using the established control connection, thirdly phase of file transferring of transmitting and receiving using the established data connection.
A file server system is usually accessed by many and unspecified clients. Depending upon the number of simultaneously accessing clients and sizes of transferring files, the rate of the transmission speed is very degraded, and or the data connection is terminated by time-out processing. The cause is the limitation of the processing capability of the server system or the fluctuation of data transfer rate of the used transmission line. This kind of problem is frequently happens at transferring large size files including animation data.
Recently the processing capability of the micro-processor in a computer and various peripheral equipment are greatly enhanced, on the other hand the data transferring capability of the actually available data transmission line is not improved so much and still remains low. Therefore the low capability of data transmission line is the bottle neck of the data connection.
The mostly used high level protocol FTP for file transferring establishes a control connection and a data connection between a file server and a client. From FTP function point of view, only one data connection is used without reflecting the actual situation of data rate of the used transmission line.
The FIG. 2 shows a file transferring method by using two connections according to the prior art. In this method, the transferred file is divided into two segments, and each segmented file is sent in the forward direction sequentially from the top of the segmented file to the bottom via separated two data connections, and as a result overall the transmission efficiency can be improved. The efficiency becomes maximum when each segmented file transmission is finished at the same time. In this method the same size of data is assigned to each connection, the division point is determined based on the total file size. In the case of the FIG. 2, the transferred file is divided at the center of it, and two segmented files are transferred by two different connections.
However, under the actual environment of time dependent fluctuation of data transmission rate in the internet including satellite communication, the two different connections do not necessarily have the same transmission rate, and hence each segmented file transmission is not finished at the same time. Actual transmission time is determined by the lower transmission rate connection. The higher rate connection can send the same size file data for shorter time. The resource of the higher rate connection is not effectively used in this case.
It is therefore an object of the present invention to resolve the problems shown in the previous paragraphs, and to provide a method, an apparatus and a recorded media which contains program codes, of high efficient file transferring utilizing multiple data connections for transmission of a file.
Another object of the present invention is to provide a method of establishing a wide band width transferring in FTP environment.
The present invention provides a method of transferring file by two simultaneous data transmissions, said method comprising the steps of: transmitting data in a forward direction starting from a first specified position to a bottom in the file; and transmitting data in a backward direction starting from a second specified position to a top in the file.
According to an embodiment of the invention, the first specified position is the top of the file and the second specified position is the bottom of the file.
According to an embodiment of the invention, the file transferring is finished when the two data transmissions in the forward and backward directions reach at a same position in the file.
According to an embodiment of the invention, the first position and the second position are the same point in the file.
According to an embodiment of the invention, the file transferring is finished when the data transmission in the forward direction reaches the bottom of the file and the data transmission in the backward direction reaches the top of the file.
According to an embodiment of the invention, the data transmission in the forward direction is done by the first connection, and the data transmission in the backward direction is done by the second connection.
According to an embodiment of the invention, using only one connection the forward direction and the backward direction transmissions are alternatively done at every specified interval points in the file.
The present invention provides a method of transferring file comprising the steps of establishing a first connection by which a data is transmitted in a forward direction started from a top of a file to be transferred, and at the same time, establishing a second connection by which a data is transmitted in a backward direction started from a bottom of the file, and establishing a third connection by which a data is transmitted in a backward direction started from a certain point around an effective center area of the file, and at the same time, establishing a fourth connection by which a data is transmitted in a forward direction started from the point around the effective center area of the file.
The present invention provides a method of transferring file comprising the steps of: establishing a first connection by which a data is transmitted in a forward direction started from a top of a file to be transferred; at the same time, establishing a second connection by which a data is transmitted in a backward direction started from a bottom of the file; establishing a third connection by which a data is transmitted alternatively in a forward direction and a backward direction at every specified unit data from a certain point around the effective center area of the file.
The present invention provides an apparatus for transferring file by two simultaneous data transmission, said apparatus comprising means for transferring file in a forward direction starting from a first specified position in a file, and means for transferring file in a backward direction starting from a second specified position in the file.
The present invention provides a recorded media for storing control program codes which enables two simultaneous data transmissions by transmitting data in a forward direction starting from a first position in the file, and by transmitting data in a backward direction starting from a second position in the file.
The present invention provides a method of transferring file in FTP (File Transfer Protocol: RFC959) comprising the steps of: establishing a control connection; establishing multiple data connection; dividing a file into segments from each arbitrary point in the file; transferring segments through each of the multiple data connections, respectively; and synthesizing file from the segments transferred through the multiple data connections. Accordingly, it enables more wide band width for data transmission than by prior art method using only one connection.
According to an embodiment of the invention, the dividing step includes a step of determining the number of transferring start points in the file as many as the number of the multiple data connections.
According to an embodiment of the invention, the dividing step includes a step of dividing the file into the segments at the transferring start points, and the transferring step includes a step of sending to and receiving from the data connection via transferring buffers.
According to an embodiment of the invention, the method further comprises a step of determining the number of data connections depending upon the size of file to be transferred and command response time after the control connection establishing step is executed.
According to an embodiment of the invention, the command response time is obtained by measuring the time spent for establishment of control connection and by measuring the response time from the supervising command transmit to the acknowledge and status information reception.
According to an embodiment of the invention, the received acknowledge and status information to the transmitted supervising command contain the values of (present number of accesses)/(possible maximum number of accesses) and (present used band width)/(allocated band width).
According to an embodiment of the invention, the response time is periodically measured. Accordingly, it may dynamically changes the number of data connections reflecting the conditions of the used transmission lines during communication, and by this method data receiving can be re-started successively from the normally received portion of a file even when a data connection is terminated due to worsened transmission condition, because another data connection is established.
According to an embodiment of the invention, each of the number of data connections is monitored, and re-determination of necessary number of data connections and re-allocation of data connections are dynamically done depending upon fluctuation of the file transmission efficiency of at least one of the data connections. Accordingly, the present invention provides a method to enable dynamical establishment of a new connection when one of used data connections is terminated due to some trouble.
According to an embodiment of the invention, all of above-mentioned steps are done by GET or PUT command issue in the client side. Accordingly, client operators can do their jobs independently without any involvement to the described communication control processing according to the present invention.
By the present invention, an effective file transferring method getting wide band width for data transmission under FTP communication between a file server and a client is provided.
Further objects and advantages of the present invention will be apparent from the following description of the preferred embodiments of the invention as illustrated in the accompanying drawings.